package org.mfw.interfaces.obj.list
{
	import org.mfw.interfaces.obj.mob.*;
	
	/**
	 * Interface für eine AlbumListe. Beschreibt alle Funktionen welche
	 * von der AlbumListe implementiert werden muss
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09 
	 * */
	 public interface IAlbumList extends IMediaListObject
	{
	
	/**
	 * Liefer das Album mit dem Übergebenen Index
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09
	 * */
	 function getAlbumByIndex(index:Number):IAlbum;
	/**
	 * Liefert das Album mit dem Übergebenen Namen
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09
	 * */
	 function getAlbumByName(name:String):IAlbum;
	
	
	//---------------Zeigeroperationen
	/**
	 * Liefert das Album auf dem aktuell gezeigt wird
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09 
	 * */
	 function get currentAlbum():IAlbum;
	
	/**
	 * Liefert den nächsten Album
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09 
	 * */
	 function get nextAlbum():IAlbum;
	
	/**
	 * Liefert den vorhergehenden Album
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09 
	 * */
	 function get prevAlbum():IAlbum;
	
	/**
	 * Liefert das letzte Album der Liste
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09
	 * */
	 function get lastAlbum():IAlbum;
	
	/**
	 * Liefert eine Liste mit allen Covern der Albumliste
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09
	 * */
	  function get coverList():ICoverList;
	
	}
}